package com.ttbj.core.util.security.aes;

/**
 * @ClassName AESUtils
 * @Description AES加密解密工具类
 * @author zhangpeng
 * @Date 2016年9月1日 下午3:18:20
 * @version 1.0.0
 */
public class AESUtils {

    // 默认AES加密KEY
    private static String SECURITY_AESKEY = "0F7P88A210884F61";

    /**
     * AES加密，使用默认key
     * 
     * @param content
     * @author zhangpeng
     * @date 2016年9月1日 下午3:18:20
     */
    public static String encrypt(String content) {
        try {
            String encryptResultStr = new String(BackAES.encrypt(content, SECURITY_AESKEY, 0));
            return encryptResultStr;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    /**
     * 使用指定key进行AES加密,key为16位如：0F7P88A210884F61
     * 
     * @param content
     * @author zhangpeng
     * @date 2016年9月1日 下午3:18:20
     */
    public static String encrypt(String content, String key) {
        try {
            String encryptResultStr = new String(BackAES.encrypt(content, key, 0));
            return encryptResultStr;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    /**
     * 使用默认key进行AES解密
     * 
     * @param content
     * @author zhangpeng
     * @date 2016年9月1日 下午3:18:20
     */
    public static String decrypt(String content) {
        String decryptString = null;
        try {
            decryptString = BackAES.decrypt(content, SECURITY_AESKEY, 0);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return decryptString;
    }

    /**
     * 指定key进行AES解密,key为16位如：0F7P88A210884F61
     * 
     * @param content
     * @author zhangpeng
     * @date 2016年9月1日 下午3:18:25
     */
    public static String decryptUseKey(String content, String key) {
        try {
            String decryptString = BackAES.decrypt(content, key, 0);
            return decryptString;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
}
